//
// Created by ASUS on 2024/12/2/星期一.
//
const int mod=1e9+7;
const int MX=2e5+5;

long long F[MX],INV_F[MX];

long long fast_pow(long long x, int n) {
	long long res = 1;
	for (; n; n /= 2) {
		if (n % 2) {
			res = res * x % mod;
		}
		x = x * x % mod;
	}
	return res;
}

auto init = [] {
	F[0] = 1;
	for (int i = 1; i < MX; i++) {
		F[i] = F[i - 1] * i % mod;
	}

	INV_F[MX - 1] = fast_pow(F[MX - 1], mod - 2);
	for (int i = MX - 1; i; i--) {
		INV_F[i - 1] = INV_F[i] * i % mod;
	}
	return 0;
}();

long long comb(int n, int m) {
	return F[n] * INV_F[m] % mod * INV_F[n - m] % mod;
}